In a data processing system architecture, such as International Business Machines Enterprise Systems Architecture/390, information is passed between main storage and input/output devices via a channel subsystem. The channel subsystem uses one or more channel paths, each including a channel and one or more control units and serial links, as the communication links between main storage and the input/output devices. The writing of data from main storage to input/output devices or the reading of data from input/output devices to main storage is accomplished by executing input/output operations. The execution of input/output operations is accomplished by the decoding and executing of channel command words by the channel subsystem and input/output devices. In particular, a chain of input/output operations (channel command words) is initiated when the channel transfers to the control unit the command specified by the first channel command word. Then, during the execution of the specified chain of input/output operations, data and further commands are transferred between the channel and the control unit.
Currently, the processing of each channel command word is completed before processing of the next channel command word begins. That is, a command and any associated data is sent from the channel to the control unit and an appropriate response is received from the control unit before a new command can be sent. Therefore, since the channel and control unit interlock during the initiation and ending of each channel command word, the channel spends unproductive time waiting for signal propagation delays between the channel and the control unit. These delays degrade system throughput and system performance and become more serious as channel data rates and channel to-control-unit distances increase.
Therefore, a need exists for a method and system to mitigate channel-to-control unit round trip delays by permitting the channel to initiate pipelined processing of several channel command words within a channel program without having to wait for responses from the control unit for prior channel command words in the same channel program. There exists a need for the capability to send multiple commands from the channel to the control unit prior to receiving a response from the control unit. A further need exists for a method and system for pipelining the processing of channel command words such that system throughput, response time and link efficiency is improved.